home *** CD-ROM | disk | FTP | other *** search
- Short: SnoopDos 3.7, the well known system monitor
- Uploader: thor@math.tu-berlin.de (Thomas Richter)
- Author: ecarroll@maths.tcd.ie (Eddy Carroll)
- Type: util/moni
- Replaces: snoopdos34.lha
-
- ------------------------------------------------------------------------------
-
- SnoopDos 3.7 -- System and application monitor
-
- Copyright © Eddy Carroll, September 1994. Freely distributable.
-
- Updated on January 2000 by Luca Longone and Massimo Tantignone
- with permission of the original author.
-
- Updated to 3.4 on August 2000 by Thomas Richter.
-
- Updated to 3.6 on Febrary 2001 by Thomas Richter
-
- Updated to 3.7 on March/April 2001 by Thomas Richter
-
-
- * VERY IMPORTANT NOTE: this archive contains an updated version of the
- * SnoopDos executable, with the version number bumped to 3.7. This was
- * NOT made by the original SnoopDos author, Eddy Carroll, but instead
- * by Luca Longone and Massimo Tantignone, and Grzegorz Chmie
- * and Thomas Richter (with Eddy Carroll's approval).
- *
- * NOTE ABOUT THE 3.7 UPDATE
- *
- * The 3.7 release fixes mainly some cosmetic issues. First of all, the
- * semaphore arbitration time changed from 3.6 to 3.7 and was chosen much
- * smaller, and was made dependent on task priorities. Even though the 3.6
- * should not have deadlocked ever, it might have happened that the System
- * appeared frozen for half a minute due to lots of semaphore timeouts.
- * Furthermore, the 3.7 adds Forbid()/Permit() around FindTask() and FindPort();
- * they are not really required as the corresponding tasks and ports cannot
- * go away in any event, but PatchWork complained about it with a warning.
- *
- *
- * NOTE ABOUT THE 3.6 UPDATE
- *
- * Note that there's no 3.5 update, it was an internal release that never
- * made it to the public.
- * The 3.6 update fixes two major bugs. The first bug is that the LoadSeg()
- * patch did not kept care about overlayed files and therefore might have
- * trashed overlayed programs. Note that LoadSeg() takes actually three
- * arguments and not one!
- * The second bug is even more severe, and is only partially fixed by this
- * release. SnoopDos semaphore handling was and still is extremly fragile.
- * SnoopDos 3.4 and before could have run into a race condition caused by
- * a cycling semaphore lock-up of three partners the patch code did not and
- * cannot check for. SnoopDos, workbench and input device hung then
- * simultaneously.
- * There are other race conditions of this kind, and all of them could only
- * be fixed if the patch code of SnoopDos would be completely re-designed,
- * a job I currently cannot and will not do.
- * Therefore, SnoopDos 3.6 contains a workaround and uses now a semaphore
- * mechanism which may "time out". The net effect is that at least the most
- * common semaphore deadlock should be avoidable now, but at the price that
- * the SnoopDos main window cannot be guaranteed to be 100% accurately up-
- * dated. Hence, in case the main window seems to have forgotten to update
- * its snoop list, or the result codes of some snoop entries are missing, or
- * some reports seem to be missing at all, don't worry! The alternative in
- * these cases would have been to deadlock your system. As a side effect,
- * the ugly layers semaphore check was disabled now as it is no longer
- * needed, and in fact never really worked as it was unable to detect a
- * cyclic deadlock of three or more partners.
- *
- *
- * NOTE ABOUT THE 3.4 UPDATE
- *
- * This update fixes one feature, and one bug. The feature is that the
- * stack swap code was removed from SnoopDos 3.2 and up, and since people
- * tend not to read the instructions, SnoopDos crashed on some machines due
- * to stack overflow. The 3.4 release checks therefore for its stack size
- * and will increase it to the minimal recommended size.
- * The bug is that a possible race condition when closing the main window
- * was overlooked. The 3.3 and earlier releases could have caused some
- * "hits" in case the main window was closed while some other program run
- * in the patch routines.
- *
- * Additional note: SnoopDos seems to cause some hang-ups if run under
- * CyberGraphics. This is maybe because CGfx does not use the native Amiga
- * layer system, or uses it in a way different than the Os would. There is
- * nothing I can do against this, currently. It works fine for the native
- * graphics and the P96 software.
- *
- *
- * NOTE ABOUT THE 3.3 UPDATE
- *
- * This update fixes a flaw of the 3.2 release that somehow was unnoticed.
- * The 3.2 release could not be run from Workbench, due to an unexpected
- * re-define of the WBenchMsg variable to _WBenchMsg in some of the SAS/C
- * headers which broke the new startup code. I really did not expect
- * this, sorry. Except the version number, and a slightly different compiler
- * option, nothing changed.
- *
- * The 3.2 update was made to remove one additional frequent enforcer hit
- * that appeared when the snoopdos patches have been called in the middle
- * of a graphics operation. In that case, RastPort->Layer is NULL'd and
- * the code didn't check. Fixed.
- * Another improvement is that SnoopDos accepts now "NewIcons" style
- * icons correctly for iconification.
- * General house keeping work has been done, one header file has been
- * enlarged to include all the required prototypes, and the code was
- * recompiled with the registerized parameter option, making it quite
- * noticably shorter. (And maybe quite unnoticably faster as well :-)
- *
- * For the more suspicious people, the updated source code is on Aminet
- * as well (util/moni/snoopdos32_src.lha).
- *
- * The SnoopDos executable was recompiled for the plain 68000 again because
- * I do not see the point why to go for an 68020 if it is not necessary.
- * The code shrunk anyhow and I do not notice a speed improvement by using
- * the 68020 switch.
- *
- * The original SnoopDos 3.0 documentation is included in this update
- * without any modification, but please note that all references to PGP
- * can't be applied to this update. If you need confirmation about the
- * genuine nature of this update you can ask us or the original author.
- *
- * Luca Longone: llong@tin.it, hexaee@tiscalinet.it
- * Massimo Tantignone: tanti@intercom.it
- * Grzegorz Chmie: gchmiel@pnet.pl
- * Thomas Richter: thor@math.tu-berlin.de
- * Eddy Carroll: ecarroll@iol.ie
-